package com.zdxf.service;

import com.zdxf.domain.RoleUserMenuDTO;
import com.zdxf.domain.UpdatePasswordDTO;
import com.zdxf.domain.UserDO;
import com.zdxf.domain.UserRoleDO;
import com.zdxf.param.RoleParam;
import com.zdxf.param.UserParam;
import com.zdxf.util.Result;

import java.util.List;
import java.util.Map;

public interface UserService {
    /**
     * 查询角色列表
     */
    Result listRole(RoleParam roleParam);

    /**
     * 查询角色列表不分页
     */
    Result getAllRoles();

    /**
     * 新增角色
     */
    Result addRole(UserRoleDO userRole);

    /**
     * 修改角色
     */
    Result updateRole(UserRoleDO userRole);

    /**
     * 删除角色
     */
    Result deleteRole(long roleId);

    /**
     * 获取在使用角色的用户
     */
    Result getUseRole(long roleId);

    /**
     * 查询用户列表
     */
    Result userList(UserParam userParam);

    /**
     * 新增用户
     */
    Result addUser(UserDO userDO);

    /**
     * 编辑用户
     */
    Result updateUser(UserDO userDO);


    /**
     * 获取用户详情
     */
    Result getInfo(String token);

    /**
     * 修改密码
     * @return
     */
    Result updatePassword(UpdatePasswordDTO updatePasswordDTO);
}
